13. Instrukcja warunkowa switch


    W poprzedniej lekcji pozna│e╢ zasady dzia│ania instrukcji warunkowej if...else.... Po sprawdzeniu warto╢ci logicznej wyra┐enia wykonywa│a ona odpowiednie polecenia. Je┐eli jednak chcia│by╢ wykonaµ polecenia w zale┐no╢ci od wiΩcej ni┐ dw≤ch warto╢ci, to powiniene╢ zastosowaµ instrukcjΩ steruj▒c▒ switch. Sk│adnia:

switch (wyra┐enie) {
    case etykieta1 : 
        polecenie;
        polecenie;
        ...
        break;
    case etykieta2 :
        polecenie;
        polecenie;
        ...
        break;
     ...
     ...
   default :
        polecenie;
        polecenie; 
}

Je┐eli warto╢µ podawana jako wyra┐enie (expression - ang.) zostanie zidentyfikowana jako jedna z etykiet (label - ang.), to program wykonuje blok instrukcji znajduj▒cy siΩ za dwukropkiem przy danej etykiecie. Blok zako±czony jest instrukcj▒ break, po kt≤rej skrypt wykonywany jest od miejsca za klamrowym nawiasem ko±cz▒cym intrukcjΩ switch (przeskakuje po wszystkich etykietach do ko±ca omijaj▒c default). W instrukcji warunkowej switch, polecenie break wstawiamy na ko±cu ka┐dego bloku nale┐▒cego do danej etykiety, za wyj▒tkiem ostatniej etykiety. Opcjonalnie ostatni▒ etykiet▒ mo┐e byµ default (domy╢lna - pol.) (zauwa┐, ┐e nie ma ju┐ przy niej case). S│u┐y ona do obs│ugi zdarzenia w przypadku, kiedy u┐ytkownik poda│ etykietΩ nie pasuj▒c▒ do ┐adnej z zadeklarowanych. Przyk│ad:

<SCRIPT LANGUAGE="JavaScript">
 <!--
  
  function pytanko()
   {
    odp = window.prompt("Jak masz na imiΩ?"
    ,"Tutaj wpisz swoje imiΩ");
    switch (odp) {
      case "Rafa│" :
        window.alert("Ja te┐ mam na imiΩ Rafa│");
        break;
      case "Agata" :
        window.alert("Masz na imiΩ tak, jak moja siostra");
        break;
      case "Nan Mian" :
        window.alert("Cze╢µ Nan Mian! KopΩ lat!");
        break;
      default :
        window.alert("Mi│o mi CiΩ poznaµ " + odp + "!");
    }
   }

 //-->
</SCRIPT>

w BODY:

<FORM> <INPUT TYPE="button" VALUE="Kliknij mnie" onClick="pytanko()"> </FORM>

Dzia│anie: